package com.sniff.atp.enums.settlement;

import lombok.Getter;

import java.util.ArrayList;
import java.util.List;

/**
 * 资金明细类型
 */
@Getter
public enum FundFlowTypeEnum {

    RECHARGE(1, "充值", "資金チャージ"),

    WITHDRAW(2, "提现", "残高引出し"),

    PRODUCT_SETTLEMENT(3, "商品结算", "商品代金"),

    EXPRESS_AMOUNT(4, "国内运费", "国内送料"),

    IL_CHARGE(5, "国际运费", "国際送料"),

    SERVICE_CHARGE_MARKET(6, "手续费", "市場商品仕入れ"),

    SERVICE_CHARGE_CLEAR(6, "手续费", "既製品仕入れ"),

    SERVICE_CHARGE_OEM(6, "手续费", "OEM量産"),

    SERVICE_CHARGE_STOCK(6, "手续费", "入庫作業"),

    SERVICE_CHARGE_COMB(6, "手续费", "商品組み合わせ"),

    AFTER_SALE_REFUND(7, "售后退款", "アフタサービス返金"),

    AMOUNT_FREEZE(8, "冻结", "お預かり金"),

    AMOUNT_UNFREEZE(9, "解冻", "お預かり金返金"),

    TRANSFER_IN(10, "转入", "振替（入金）"),

    TRANSFER_OUT(11, "转出", "振替（出金）"),

    MEMBERSHIP_FEE(12, "会员费", "会員費"),

    IL_CHARGE_WEIGHT_FEE(13, "国际运费重量差补扣", "国際送料差額分返金"),

    IL_CHARGE_SERVICE_FEE(14, "国际运费附加项补扣", "国際送料追加請求総額"),

    COMMODITY_SERVICE_FEE(15, "商品附加项", "商品オプション"),

    SHIPPING_SERVICE_FEE(16, "发货附加项", "発送用オプション"),

    SEARCH_SOURCE_CHARGE(17, "寻源费", "見積もり相談費用"),

    SEARCH_SOURCE_CHARGE_REFUND(18, "寻源费退款", "見積もり相談費用の返金"),

    REPAYMENT(19, "返金", "返金"),

    CUSTOMER_REFUND(20, "客户退款", "お客様からの返金"),

    WITHDRAW_REFUSED(21, "提现拒绝", "引出し失敗"),

    RECHARGE_REFUSED(22, "充值拒绝", "チャージ失敗"),

    CUSTOMER_BILL_PAY(23, "账单支付", "支払依頼書（出金）"),

    ;

    public final Integer code;

    public final String name;

    /**
     * 日文名称
     */
    private final String jpName;

    FundFlowTypeEnum(Integer code, String name, String jpName) {
        this.code = code;
        this.name = name;
        this.jpName = jpName;
    }

    public static List<String> getPurchaseJpName() {
        List<String> list = new ArrayList<>();
        list.add(SERVICE_CHARGE_MARKET.jpName);
        list.add(SERVICE_CHARGE_CLEAR.jpName);
        list.add(SERVICE_CHARGE_OEM.jpName);
        return list;
    }
}
